package com.googlecode.framework.pagination;

public interface Pagination extends java.io.Serializable {
    
    /**
     * 取得当前页第一项在全部项中的偏移量 (0-based)。
     * 
     * @return 偏移量
     */
    int getOffset();
    
    /**
     * 取得当前页的长度，即当前页的实际项数。相当于 <code>endIndex() - beginIndex() + 1</code>
     * 
     * @return 当前页的长度
     */
    int getLength();
    
    /**
     * 设置并取得总项数。如果指定的总项数小于0，则被看作0。自动调整当前页，确保当前页值在正确的范围内。
     * 
     * @param items 总项数
     * @return 设置以后的总项数
     */
    int setItems(int items);
    
    /**
     * 取得总项数。
     * 
     * @return 总项数
     */
    int getItems();

}
